package org.estela.comp;

import java.util.LinkedList;
import java.util.List;

public class DeclareClassifier implements Statement {

	private String classifierType;

	private List<ClassMethod> methods = new LinkedList<ClassMethod>();
	
	private List<ClassField> fields = new LinkedList<ClassField>();
	
	
	
	public String getClassifierType() {
		return classifierType;
	}

	public void setClassifierType(String classifierType) {
		this.classifierType = classifierType;
	}

	public void addMethod(ClassMethod method) {
		this.methods.add(method);
	}

	public void addField(ClassField field) {
		this.fields.add(field);
	}

	public List<ClassMethod> getMethods() {
		return methods;
	}

	public void setMethods(List<ClassMethod> methods) {
		this.methods = methods;
	}

	public List<ClassField> getFields() {
		return fields;
	}

	public void setFields(List<ClassField> fields) {
		this.fields = fields;
	} 
	
	public String toString() {
		StringBuilder buff = new StringBuilder(getClass().getName());
		buff.append("[classifierType=").append(this.classifierType);
		buff.append(", fields=").append(this.fields);
		buff.append(", methods=").append(this.methods);
		return buff.toString();
		
	}

	public void accept(StatementVisitor visitor) {
		visitor.visitDeclareClassifier(this);
	}
	

}
